Conventionally, microprocessors are equipped with various logical operation instructions such as logical product (AND), logical sum (OR), exclusive-or (XOR), and the like in addition to arithmetical operation instructions such as addition, subtraction, multiplication, division, comparison and the like.
In the instruction system of conventional microprocessors, the kind of operation is designated by an instruction (an operation code). In other words, an instruction is prepared for each operation, and the kind of operation is fixed in the program and cannot be changed unlike data. Therefore, when the program is stored in ROM (Read-Only Memory), it is not possible to change the operation.
When graphic processing such as so-called "smearaway" or "see-through" processing, is carried out by performing logical operations on data in a bit field, in computer graphics, for example, a program could be developed more easily if the kind of operation can be determined dynamically while viewing a display surface.
However, in conventional microprocessors wherein the instruction is determined in accordance with the kind of operation, the operation instruction in a program must be re-written in order to change the content of the operation processing, and so the program does not have flexibility.
On the other hand, in order to determine the next operation to be performed or the kind of operation on the basis of a result obtained by execution of a certain preceding instruction, those instructions or operations which might be executed next must be listed up. In other words, a program must be prepared in such a manner as to select one instruction or one operation among those listed up on the basis of the result obtained by execution of the certain instruction. Therefore, in addition to low flexibility of program, another problem develops in that instruction selection processing must be performed and so high speed operation is limited when executing a series of instructions.